import time
from datetime import datetime
from filterByLabel import view_resumes
from Recommended_Bull_People import get_boss_bull_people
import logging
import random


def run_boss_bull_people_loop(driver):
    last_execution_date = None  # 新增日期跟踪变量
    while True:
        now = datetime.now()
        current_date = now.date()  # 获取当前日期‌:ml-citation{ref="4" data="citationList"}
        hour = now.hour

        if (14 <= hour < 17) or (19 <= hour < 21) or (23 <= hour < 24):
            logging.info("当前时间符合执行条件，开始执行操作打招呼和获取个人简历")
            try:
                # 每天首次进入时间段执行主任务
                if last_execution_date != current_date:  # 日期比对逻辑‌:ml-citation{ref="4" data="citationList"}
                    get_boss_bull_people(driver)
                    last_execution_date = current_date  # 更新执行日期标记

                # 每次进入时间段都执行简历查看
                view_resumes(driver)  # 维持原有执行逻辑‌:ml-citation{ref="7" data="citationList"}
            except Exception as e:
                logging.error(f"任务执行异常: {e}")

            # 调整随机等待时间为5-10分钟（300-600秒）
            sleep_time = random.randint(3000, 6000)  # 修正时间单位错误‌:ml-citation{ref="6" data="citationList"}
            logging.info(f"等待 {sleep_time // 60} 分钟后继续")
            time.sleep(sleep_time)
        else:
            # 非活跃时段固定等待5分钟
            logging.info("非执行时段，30分钟后重试")
            time.sleep(1800)  # 保持15分钟检测间隔‌:ml-citation{ref="6" data="citationList"}

